package com.lx.t31_40;

import java.util.Scanner;

/**
 * @author c先生
 * @date 2022年05月16日 上午 9:04:27
 * @describe
 * 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
 *
 * 例如，当输入5时，应该输出的三角形为：
 *
 * 1 3 6 10 15
 *
 * 2 5 9 14
 *
 * 4 8 13
 *
 * 7 12
 *
 * 11
 *
 *
 * 输入描述：
 * 输入正整数N（N不大于100）
 *
 * 输出描述：
 * 输出一个N行的蛇形矩阵。
 */

public class Main35 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int temp = num;
        int i1 = 1;
        int difflie = 1;
        for(int i = 0 ; i < num ; i++){//输出行
            int diffHang = i+1+1;
            int i1copy = i1;//把i1每行第一列的值拷贝一份，做为下一行的第一列
            for(int j = temp ; j > 0 ; j--){//输出列
                System.out.print(i1+" ");
                i1 = i1+diffHang;
                diffHang++;
            }
            i1 = i1copy;
            i1 = i1+difflie;
            difflie++;
            System.out.println();//控制换行
            temp--;//每下一行都少输出一个数字
        }
    }
}
